In recent years, in semiconductor devices, an increasingly large amount of data has been handled, and high-speed data transfer has been required. Data transferred to an input/output circuit from a core circuit and a clock for external reading asynchronously operate. Therefore, in the semiconductor devices, a FIFO (first-in first-out) circuit (hereinafter referred to as FIFO) is used to synchronize the data transfer and the clock for external reading. The FIFO is located to be as equidistant as possible from each input/output circuit, and data synchronized with a read clock is distributed and transferred to each input/output circuit.